﻿using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.IO.Pipes;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AIVision.Model.EntityModels
{
    public class PLCConfigDto: BindableBase
    {
        public int Id { get; set; }

        private string ip;

        public string IP
        {
            get { return ip; }
            set { ip = value; RaisePropertyChanged(); }
        }


        private float zhuanTaiRunSpeed;
		public float ZhuanTaiRunSpeed
        {
			get { return zhuanTaiRunSpeed; }
			set { zhuanTaiRunSpeed = value; RaisePropertyChanged(); }
        }

        private float zhuanTaiInitOffset;
        public float ZhuanTaiInitOffset
        {
            get { return zhuanTaiInitOffset; }
            set { zhuanTaiInitOffset = value; RaisePropertyChanged(); }
        }

        private float zhuanTaiStep;
        public float ZhuanTaiStep
        {
            get { return zhuanTaiStep; }
            set { zhuanTaiStep = value; RaisePropertyChanged(); }
        }
        private int zhuanTaiAccl;
        public int ZhuanTaiAccl
        {
            get { return zhuanTaiAccl; }
            set { zhuanTaiAccl = value; RaisePropertyChanged(); }
        }

        public float ppuRunSpeed;
        public float PPURunSpeed
        {
            get { return ppuRunSpeed; }
            set { ppuRunSpeed = value; RaisePropertyChanged(); }
        }

        private float ppuRunPos1;
        public float PPURunPos1
        {
            get { return ppuRunPos1; }
            set { ppuRunPos1 = value; RaisePropertyChanged(); }
        }

        private float ppuRunPos2;
        public float PPURunPos2
        {
            get { return ppuRunPos2; }
            set { ppuRunPos2 = value; RaisePropertyChanged(); }
        }

        private float ppuRunPos3;
        public float PPURunPos3
        {
            get { return ppuRunPos3; }
            set { ppuRunPos3 = value; RaisePropertyChanged(); }
        }

        private float ppuRunPos4;
        public float PPURunPos4
        {
            get { return ppuRunPos4; }
            set { ppuRunPos4 = value; RaisePropertyChanged(); }
        }

        private float tuLunRunSpeed;
        public float TuLunRunSpeed
        {
            get { return tuLunRunSpeed; }
            set { tuLunRunSpeed = value; RaisePropertyChanged(); }
        }

        private float tuLunStep;
        public float TuLunStep
        {
            get { return tuLunStep; }
            set { tuLunStep = value; RaisePropertyChanged(); }
        }

        private float feiLiaoRunSpeed;
        public float FeiLiaoRunSpeed
        {
            get { return feiLiaoRunSpeed; }
            set { feiLiaoRunSpeed = value; RaisePropertyChanged(); }
        }

        private float feiLiaoRunPos1;
        public float FeiLiaoRunPos1
        {
            get { return feiLiaoRunPos1; }
            set { feiLiaoRunPos1 = value; RaisePropertyChanged(); }
        }

        private float feiLiaoRunPos2;
        public float FeiLiaoRunPos2
        {
            get { return feiLiaoRunPos2; }
            set { feiLiaoRunPos2 = value; RaisePropertyChanged(); }
        }
        private float feiLiaoRunPos3;
        public float FeiLiaoRunPos3
        {
            get { return feiLiaoRunPos3; }
            set { feiLiaoRunPos3 = value; RaisePropertyChanged(); }
        }

        private float chaHeYRunSpeed;
        public float ChaHeYRunSpeed
        {
            get { return chaHeYRunSpeed; }
            set { chaHeYRunSpeed = value; RaisePropertyChanged(); }
        }

        private float chaHeYZeroLocation;
        public float ChaHeYZeroLocation
        {
            get { return chaHeYZeroLocation; }
            set { chaHeYZeroLocation = value; RaisePropertyChanged(); }
        }

        private float chaHeYFirstLocation;
        public float ChaHeYFirstLocation
        {
            get { return chaHeYFirstLocation; }
            set { chaHeYFirstLocation = value; RaisePropertyChanged(); }
        }
        private float chaHeYLastLocation;

        public float ChaHeYLastLocation
        {
            get { return chaHeYLastLocation; }
            set { chaHeYLastLocation = value; RaisePropertyChanged(); }
        }

        private float chaHeYStep;
        public float ChaHeYStep
        {
            get { return chaHeYStep; }
            set { chaHeYStep = value; RaisePropertyChanged(); }
        }
        private float chaHeYCount;
        public float ChaHeYCount
        {
            get { return chaHeYCount; }
            set { chaHeYCount = value; RaisePropertyChanged(); }
        }
        private int chanheYAccl;
        public int ChanheYAccl
        {
            get { return chanheYAccl; }
            set { chanheYAccl = value; RaisePropertyChanged(); }
        }
        private float chaHeXRunSpeed;
        public float ChaHeXRunSpeed
        {
            get { return chaHeXRunSpeed; }
            set { chaHeXRunSpeed = value; RaisePropertyChanged(); }
        }

        private float chaHeXZeroLocation;
        public float ChaHeXZeroLocation
        {
            get { return chaHeXZeroLocation; }
            set { chaHeXZeroLocation = value; RaisePropertyChanged(); }
        }

        private float chaHeXFirstLocation;
        public float ChaHeXFirstLocation
        {
            get { return chaHeXFirstLocation; }
            set { chaHeXFirstLocation = value; RaisePropertyChanged(); }
        }

        private float chaHeXStep;
        public float ChaHeXStep
        {
            get { return chaHeXStep; }
            set { chaHeXStep = value; RaisePropertyChanged(); }
        }

        private float chaHeXCount;
        public float ChaHeXCount
        {
            get { return chaHeXCount; }
            set { chaHeXCount = value; RaisePropertyChanged(); }
        }
        private int chanheXAccl;
        public int ChanheXAccl
        {
            get { return chanheXAccl; }
            set { chanheXAccl = value; RaisePropertyChanged(); }
        }

        private int runWaitTimeCount;
        public int RunWaitTimeCount
        {
            get { return runWaitTimeCount; }
            set { runWaitTimeCount = value; RaisePropertyChanged(); }
        }


        private int quHe1Delay;
        public int QuHe1Delay 
        {
            get { return quHe1Delay; }
            set { quHe1Delay = value; RaisePropertyChanged(); }
        }

        private int quHe2Delay;
        public int QuHe2Delay
        {
            get { return quHe2Delay; }
            set { quHe2Delay = value; RaisePropertyChanged(); }
        }
        private int jiaHe1Delay;
        public int JiaHe1Delay
        {
            get { return jiaHe1Delay; }
            set { jiaHe1Delay = value; RaisePropertyChanged(); }
        }
        private int jiaHe2Delay;
        public int JiaHe2Delay
        {
            get { return jiaHe2Delay; }
            set { jiaHe2Delay = value; RaisePropertyChanged(); }
        }
        private int tuiHeUpDelay;
        public int TuiHeUpDelay
        {
            get { return tuiHeUpDelay; }
            set { tuiHeUpDelay = value; RaisePropertyChanged(); }
        }
        private int tuiHeOutDelay;
        public int TuiHeOutDelay
        {
            get { return tuiHeOutDelay; }
            set { tuiHeOutDelay = value; RaisePropertyChanged(); }
        }

        private int ppuFangDelay;

        public int PPUFangDelay
        {
            get { return ppuFangDelay; }
            set { ppuFangDelay = value; RaisePropertyChanged(); }
        }

        private int ppuQuDelay;
        public int PPUQuDelay {
            get { return ppuQuDelay; }
            set { ppuQuDelay = value; RaisePropertyChanged(); }
        }
        /// <summary>
        /// 转盘延时启动
        /// </summary>
        private int zhuanStartDelay;
        public int ZhuanStartDelay
        {
            get { return zhuanStartDelay; }
            set { zhuanStartDelay = value; RaisePropertyChanged(); }
        }
        /// <summary>
        /// 转盘延时停止
        /// </summary>
        private int zhuanStopDelay;
        public int ZhuanStopDelay
        {
            get { return zhuanStopDelay; }
            set { zhuanStopDelay = value; RaisePropertyChanged(); }
        }
        /// <summary>
        /// OK取料延时
        /// </summary>
        private int okQuDelay;
        public int OKQuDelay
        {
            get { return okQuDelay; }
            set { okQuDelay = value; RaisePropertyChanged(); }
        }
        /// <summary>
        /// NG取料延时
        /// </summary>
        private int ngQuDelay;
        public int NGQuDelay
        {
            get { return ngQuDelay; }
            set { ngQuDelay = value; RaisePropertyChanged(); }
        }
        /// <summary>
        /// 插盒X上延时
        /// </summary>
        private int chaHeXUpDelay;
        public int ChaHeXUpDelay
        {
            get { return chaHeXUpDelay; }
            set { chaHeXUpDelay = value; RaisePropertyChanged(); }
        }
        /// <summary>
        /// 插盒X下延时
        /// </summary>
        private int chaHeXDownDelay;
        public int ChaHeXDownDelay
        {
            get { return chaHeXDownDelay; }
            set { chaHeXDownDelay = value; RaisePropertyChanged(); }
        }
    }
}
